package cn.basic.social.manager.config;

import lombok.Getter;
import lombok.Setter;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

import java.util.HashMap;
import java.util.Map;

/**
 * @ClassName SocialConfigProperties
 * @Description 消息配置，在业务方yml文件配置
 * @Author zlf
 * @Date 2023/9/1 15:27
 */
@Component
@Getter
@Setter
@ConfigurationProperties(prefix = "social.config")
public class SocialConfigProperties {

    /**
     * 是否启用，如果不启用，只能使用api包中相关的调用，启用后会默认封装好相关接口使用redis缓存一些access_token等信息
     */
    private boolean enabled;

    /**
     * 配置clientId等信息
     */
    private Map<TypeEnum, ProviderConfig> type = new HashMap<>();

    public enum TypeEnum {
        // 企业微信-第三方服务
        QiWei_ThirdPart,
        WeiXin;

        public static TypeEnum getTypeEnumByName(String name) {
            if (name == null || name.length() <= 0) {
                return null;
            }
            for (TypeEnum typeEnum : TypeEnum.values()) {
                if (typeEnum.name().equals(name)) {
                    return typeEnum;
                }
            }
            return null;
        }
    }
}
